package com.attendance.www.hr.entitys;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class SchedulWeekExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public SchedulWeekExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andSwIdIsNull() {
            addCriterion("sw_id is null");
            return (Criteria) this;
        }

        public Criteria andSwIdIsNotNull() {
            addCriterion("sw_id is not null");
            return (Criteria) this;
        }

        public Criteria andSwIdEqualTo(Integer value) {
            addCriterion("sw_id =", value, "swId");
            return (Criteria) this;
        }

        public Criteria andSwIdNotEqualTo(Integer value) {
            addCriterion("sw_id <>", value, "swId");
            return (Criteria) this;
        }

        public Criteria andSwIdGreaterThan(Integer value) {
            addCriterion("sw_id >", value, "swId");
            return (Criteria) this;
        }

        public Criteria andSwIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("sw_id >=", value, "swId");
            return (Criteria) this;
        }

        public Criteria andSwIdLessThan(Integer value) {
            addCriterion("sw_id <", value, "swId");
            return (Criteria) this;
        }

        public Criteria andSwIdLessThanOrEqualTo(Integer value) {
            addCriterion("sw_id <=", value, "swId");
            return (Criteria) this;
        }

        public Criteria andSwIdIn(List<Integer> values) {
            addCriterion("sw_id in", values, "swId");
            return (Criteria) this;
        }

        public Criteria andSwIdNotIn(List<Integer> values) {
            addCriterion("sw_id not in", values, "swId");
            return (Criteria) this;
        }

        public Criteria andSwIdBetween(Integer value1, Integer value2) {
            addCriterion("sw_id between", value1, value2, "swId");
            return (Criteria) this;
        }

        public Criteria andSwIdNotBetween(Integer value1, Integer value2) {
            addCriterion("sw_id not between", value1, value2, "swId");
            return (Criteria) this;
        }

        public Criteria andSwNameIsNull() {
            addCriterion("sw_name is null");
            return (Criteria) this;
        }

        public Criteria andSwNameIsNotNull() {
            addCriterion("sw_name is not null");
            return (Criteria) this;
        }

        public Criteria andSwNameEqualTo(String value) {
            addCriterion("sw_name =", value, "swName");
            return (Criteria) this;
        }

        public Criteria andSwNameNotEqualTo(String value) {
            addCriterion("sw_name <>", value, "swName");
            return (Criteria) this;
        }

        public Criteria andSwNameGreaterThan(String value) {
            addCriterion("sw_name >", value, "swName");
            return (Criteria) this;
        }

        public Criteria andSwNameGreaterThanOrEqualTo(String value) {
            addCriterion("sw_name >=", value, "swName");
            return (Criteria) this;
        }

        public Criteria andSwNameLessThan(String value) {
            addCriterion("sw_name <", value, "swName");
            return (Criteria) this;
        }

        public Criteria andSwNameLessThanOrEqualTo(String value) {
            addCriterion("sw_name <=", value, "swName");
            return (Criteria) this;
        }

        public Criteria andSwNameLike(String value) {
            addCriterion("sw_name like", value, "swName");
            return (Criteria) this;
        }

        public Criteria andSwNameNotLike(String value) {
            addCriterion("sw_name not like", value, "swName");
            return (Criteria) this;
        }

        public Criteria andSwNameIn(List<String> values) {
            addCriterion("sw_name in", values, "swName");
            return (Criteria) this;
        }

        public Criteria andSwNameNotIn(List<String> values) {
            addCriterion("sw_name not in", values, "swName");
            return (Criteria) this;
        }

        public Criteria andSwNameBetween(String value1, String value2) {
            addCriterion("sw_name between", value1, value2, "swName");
            return (Criteria) this;
        }

        public Criteria andSwNameNotBetween(String value1, String value2) {
            addCriterion("sw_name not between", value1, value2, "swName");
            return (Criteria) this;
        }

        public Criteria andSwTypeIsNull() {
            addCriterion("sw_type is null");
            return (Criteria) this;
        }

        public Criteria andSwTypeIsNotNull() {
            addCriterion("sw_type is not null");
            return (Criteria) this;
        }

        public Criteria andSwTypeEqualTo(Integer value) {
            addCriterion("sw_type =", value, "swType");
            return (Criteria) this;
        }

        public Criteria andSwTypeNotEqualTo(Integer value) {
            addCriterion("sw_type <>", value, "swType");
            return (Criteria) this;
        }

        public Criteria andSwTypeGreaterThan(Integer value) {
            addCriterion("sw_type >", value, "swType");
            return (Criteria) this;
        }

        public Criteria andSwTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("sw_type >=", value, "swType");
            return (Criteria) this;
        }

        public Criteria andSwTypeLessThan(Integer value) {
            addCriterion("sw_type <", value, "swType");
            return (Criteria) this;
        }

        public Criteria andSwTypeLessThanOrEqualTo(Integer value) {
            addCriterion("sw_type <=", value, "swType");
            return (Criteria) this;
        }

        public Criteria andSwTypeIn(List<Integer> values) {
            addCriterion("sw_type in", values, "swType");
            return (Criteria) this;
        }

        public Criteria andSwTypeNotIn(List<Integer> values) {
            addCriterion("sw_type not in", values, "swType");
            return (Criteria) this;
        }

        public Criteria andSwTypeBetween(Integer value1, Integer value2) {
            addCriterion("sw_type between", value1, value2, "swType");
            return (Criteria) this;
        }

        public Criteria andSwTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("sw_type not between", value1, value2, "swType");
            return (Criteria) this;
        }

        public Criteria andIsHolidayIsNull() {
            addCriterion("is_holiday is null");
            return (Criteria) this;
        }

        public Criteria andIsHolidayIsNotNull() {
            addCriterion("is_holiday is not null");
            return (Criteria) this;
        }

        public Criteria andIsHolidayEqualTo(Integer value) {
            addCriterion("is_holiday =", value, "isHoliday");
            return (Criteria) this;
        }

        public Criteria andIsHolidayNotEqualTo(Integer value) {
            addCriterion("is_holiday <>", value, "isHoliday");
            return (Criteria) this;
        }

        public Criteria andIsHolidayGreaterThan(Integer value) {
            addCriterion("is_holiday >", value, "isHoliday");
            return (Criteria) this;
        }

        public Criteria andIsHolidayGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_holiday >=", value, "isHoliday");
            return (Criteria) this;
        }

        public Criteria andIsHolidayLessThan(Integer value) {
            addCriterion("is_holiday <", value, "isHoliday");
            return (Criteria) this;
        }

        public Criteria andIsHolidayLessThanOrEqualTo(Integer value) {
            addCriterion("is_holiday <=", value, "isHoliday");
            return (Criteria) this;
        }

        public Criteria andIsHolidayIn(List<Integer> values) {
            addCriterion("is_holiday in", values, "isHoliday");
            return (Criteria) this;
        }

        public Criteria andIsHolidayNotIn(List<Integer> values) {
            addCriterion("is_holiday not in", values, "isHoliday");
            return (Criteria) this;
        }

        public Criteria andIsHolidayBetween(Integer value1, Integer value2) {
            addCriterion("is_holiday between", value1, value2, "isHoliday");
            return (Criteria) this;
        }

        public Criteria andIsHolidayNotBetween(Integer value1, Integer value2) {
            addCriterion("is_holiday not between", value1, value2, "isHoliday");
            return (Criteria) this;
        }

        public Criteria andSwMondayIsNull() {
            addCriterion("sw_monday is null");
            return (Criteria) this;
        }

        public Criteria andSwMondayIsNotNull() {
            addCriterion("sw_monday is not null");
            return (Criteria) this;
        }

        public Criteria andSwMondayEqualTo(Integer value) {
            addCriterion("sw_monday =", value, "swMonday");
            return (Criteria) this;
        }

        public Criteria andSwMondayNotEqualTo(Integer value) {
            addCriterion("sw_monday <>", value, "swMonday");
            return (Criteria) this;
        }

        public Criteria andSwMondayGreaterThan(Integer value) {
            addCriterion("sw_monday >", value, "swMonday");
            return (Criteria) this;
        }

        public Criteria andSwMondayGreaterThanOrEqualTo(Integer value) {
            addCriterion("sw_monday >=", value, "swMonday");
            return (Criteria) this;
        }

        public Criteria andSwMondayLessThan(Integer value) {
            addCriterion("sw_monday <", value, "swMonday");
            return (Criteria) this;
        }

        public Criteria andSwMondayLessThanOrEqualTo(Integer value) {
            addCriterion("sw_monday <=", value, "swMonday");
            return (Criteria) this;
        }

        public Criteria andSwMondayIn(List<Integer> values) {
            addCriterion("sw_monday in", values, "swMonday");
            return (Criteria) this;
        }

        public Criteria andSwMondayNotIn(List<Integer> values) {
            addCriterion("sw_monday not in", values, "swMonday");
            return (Criteria) this;
        }

        public Criteria andSwMondayBetween(Integer value1, Integer value2) {
            addCriterion("sw_monday between", value1, value2, "swMonday");
            return (Criteria) this;
        }

        public Criteria andSwMondayNotBetween(Integer value1, Integer value2) {
            addCriterion("sw_monday not between", value1, value2, "swMonday");
            return (Criteria) this;
        }

        public Criteria andSwTuesdayIsNull() {
            addCriterion("sw_tuesday is null");
            return (Criteria) this;
        }

        public Criteria andSwTuesdayIsNotNull() {
            addCriterion("sw_tuesday is not null");
            return (Criteria) this;
        }

        public Criteria andSwTuesdayEqualTo(Integer value) {
            addCriterion("sw_tuesday =", value, "swTuesday");
            return (Criteria) this;
        }

        public Criteria andSwTuesdayNotEqualTo(Integer value) {
            addCriterion("sw_tuesday <>", value, "swTuesday");
            return (Criteria) this;
        }

        public Criteria andSwTuesdayGreaterThan(Integer value) {
            addCriterion("sw_tuesday >", value, "swTuesday");
            return (Criteria) this;
        }

        public Criteria andSwTuesdayGreaterThanOrEqualTo(Integer value) {
            addCriterion("sw_tuesday >=", value, "swTuesday");
            return (Criteria) this;
        }

        public Criteria andSwTuesdayLessThan(Integer value) {
            addCriterion("sw_tuesday <", value, "swTuesday");
            return (Criteria) this;
        }

        public Criteria andSwTuesdayLessThanOrEqualTo(Integer value) {
            addCriterion("sw_tuesday <=", value, "swTuesday");
            return (Criteria) this;
        }

        public Criteria andSwTuesdayIn(List<Integer> values) {
            addCriterion("sw_tuesday in", values, "swTuesday");
            return (Criteria) this;
        }

        public Criteria andSwTuesdayNotIn(List<Integer> values) {
            addCriterion("sw_tuesday not in", values, "swTuesday");
            return (Criteria) this;
        }

        public Criteria andSwTuesdayBetween(Integer value1, Integer value2) {
            addCriterion("sw_tuesday between", value1, value2, "swTuesday");
            return (Criteria) this;
        }

        public Criteria andSwTuesdayNotBetween(Integer value1, Integer value2) {
            addCriterion("sw_tuesday not between", value1, value2, "swTuesday");
            return (Criteria) this;
        }

        public Criteria andSwWednesdayIsNull() {
            addCriterion("sw_wednesday is null");
            return (Criteria) this;
        }

        public Criteria andSwWednesdayIsNotNull() {
            addCriterion("sw_wednesday is not null");
            return (Criteria) this;
        }

        public Criteria andSwWednesdayEqualTo(Integer value) {
            addCriterion("sw_wednesday =", value, "swWednesday");
            return (Criteria) this;
        }

        public Criteria andSwWednesdayNotEqualTo(Integer value) {
            addCriterion("sw_wednesday <>", value, "swWednesday");
            return (Criteria) this;
        }

        public Criteria andSwWednesdayGreaterThan(Integer value) {
            addCriterion("sw_wednesday >", value, "swWednesday");
            return (Criteria) this;
        }

        public Criteria andSwWednesdayGreaterThanOrEqualTo(Integer value) {
            addCriterion("sw_wednesday >=", value, "swWednesday");
            return (Criteria) this;
        }

        public Criteria andSwWednesdayLessThan(Integer value) {
            addCriterion("sw_wednesday <", value, "swWednesday");
            return (Criteria) this;
        }

        public Criteria andSwWednesdayLessThanOrEqualTo(Integer value) {
            addCriterion("sw_wednesday <=", value, "swWednesday");
            return (Criteria) this;
        }

        public Criteria andSwWednesdayIn(List<Integer> values) {
            addCriterion("sw_wednesday in", values, "swWednesday");
            return (Criteria) this;
        }

        public Criteria andSwWednesdayNotIn(List<Integer> values) {
            addCriterion("sw_wednesday not in", values, "swWednesday");
            return (Criteria) this;
        }

        public Criteria andSwWednesdayBetween(Integer value1, Integer value2) {
            addCriterion("sw_wednesday between", value1, value2, "swWednesday");
            return (Criteria) this;
        }

        public Criteria andSwWednesdayNotBetween(Integer value1, Integer value2) {
            addCriterion("sw_wednesday not between", value1, value2, "swWednesday");
            return (Criteria) this;
        }

        public Criteria andSwThursdayIsNull() {
            addCriterion("sw_thursday is null");
            return (Criteria) this;
        }

        public Criteria andSwThursdayIsNotNull() {
            addCriterion("sw_thursday is not null");
            return (Criteria) this;
        }

        public Criteria andSwThursdayEqualTo(Integer value) {
            addCriterion("sw_thursday =", value, "swThursday");
            return (Criteria) this;
        }

        public Criteria andSwThursdayNotEqualTo(Integer value) {
            addCriterion("sw_thursday <>", value, "swThursday");
            return (Criteria) this;
        }

        public Criteria andSwThursdayGreaterThan(Integer value) {
            addCriterion("sw_thursday >", value, "swThursday");
            return (Criteria) this;
        }

        public Criteria andSwThursdayGreaterThanOrEqualTo(Integer value) {
            addCriterion("sw_thursday >=", value, "swThursday");
            return (Criteria) this;
        }

        public Criteria andSwThursdayLessThan(Integer value) {
            addCriterion("sw_thursday <", value, "swThursday");
            return (Criteria) this;
        }

        public Criteria andSwThursdayLessThanOrEqualTo(Integer value) {
            addCriterion("sw_thursday <=", value, "swThursday");
            return (Criteria) this;
        }

        public Criteria andSwThursdayIn(List<Integer> values) {
            addCriterion("sw_thursday in", values, "swThursday");
            return (Criteria) this;
        }

        public Criteria andSwThursdayNotIn(List<Integer> values) {
            addCriterion("sw_thursday not in", values, "swThursday");
            return (Criteria) this;
        }

        public Criteria andSwThursdayBetween(Integer value1, Integer value2) {
            addCriterion("sw_thursday between", value1, value2, "swThursday");
            return (Criteria) this;
        }

        public Criteria andSwThursdayNotBetween(Integer value1, Integer value2) {
            addCriterion("sw_thursday not between", value1, value2, "swThursday");
            return (Criteria) this;
        }

        public Criteria andSwFridayIsNull() {
            addCriterion("sw_friday is null");
            return (Criteria) this;
        }

        public Criteria andSwFridayIsNotNull() {
            addCriterion("sw_friday is not null");
            return (Criteria) this;
        }

        public Criteria andSwFridayEqualTo(Integer value) {
            addCriterion("sw_friday =", value, "swFriday");
            return (Criteria) this;
        }

        public Criteria andSwFridayNotEqualTo(Integer value) {
            addCriterion("sw_friday <>", value, "swFriday");
            return (Criteria) this;
        }

        public Criteria andSwFridayGreaterThan(Integer value) {
            addCriterion("sw_friday >", value, "swFriday");
            return (Criteria) this;
        }

        public Criteria andSwFridayGreaterThanOrEqualTo(Integer value) {
            addCriterion("sw_friday >=", value, "swFriday");
            return (Criteria) this;
        }

        public Criteria andSwFridayLessThan(Integer value) {
            addCriterion("sw_friday <", value, "swFriday");
            return (Criteria) this;
        }

        public Criteria andSwFridayLessThanOrEqualTo(Integer value) {
            addCriterion("sw_friday <=", value, "swFriday");
            return (Criteria) this;
        }

        public Criteria andSwFridayIn(List<Integer> values) {
            addCriterion("sw_friday in", values, "swFriday");
            return (Criteria) this;
        }

        public Criteria andSwFridayNotIn(List<Integer> values) {
            addCriterion("sw_friday not in", values, "swFriday");
            return (Criteria) this;
        }

        public Criteria andSwFridayBetween(Integer value1, Integer value2) {
            addCriterion("sw_friday between", value1, value2, "swFriday");
            return (Criteria) this;
        }

        public Criteria andSwFridayNotBetween(Integer value1, Integer value2) {
            addCriterion("sw_friday not between", value1, value2, "swFriday");
            return (Criteria) this;
        }

        public Criteria andSwSaturdayIsNull() {
            addCriterion("sw_saturday is null");
            return (Criteria) this;
        }

        public Criteria andSwSaturdayIsNotNull() {
            addCriterion("sw_saturday is not null");
            return (Criteria) this;
        }

        public Criteria andSwSaturdayEqualTo(Integer value) {
            addCriterion("sw_saturday =", value, "swSaturday");
            return (Criteria) this;
        }

        public Criteria andSwSaturdayNotEqualTo(Integer value) {
            addCriterion("sw_saturday <>", value, "swSaturday");
            return (Criteria) this;
        }

        public Criteria andSwSaturdayGreaterThan(Integer value) {
            addCriterion("sw_saturday >", value, "swSaturday");
            return (Criteria) this;
        }

        public Criteria andSwSaturdayGreaterThanOrEqualTo(Integer value) {
            addCriterion("sw_saturday >=", value, "swSaturday");
            return (Criteria) this;
        }

        public Criteria andSwSaturdayLessThan(Integer value) {
            addCriterion("sw_saturday <", value, "swSaturday");
            return (Criteria) this;
        }

        public Criteria andSwSaturdayLessThanOrEqualTo(Integer value) {
            addCriterion("sw_saturday <=", value, "swSaturday");
            return (Criteria) this;
        }

        public Criteria andSwSaturdayIn(List<Integer> values) {
            addCriterion("sw_saturday in", values, "swSaturday");
            return (Criteria) this;
        }

        public Criteria andSwSaturdayNotIn(List<Integer> values) {
            addCriterion("sw_saturday not in", values, "swSaturday");
            return (Criteria) this;
        }

        public Criteria andSwSaturdayBetween(Integer value1, Integer value2) {
            addCriterion("sw_saturday between", value1, value2, "swSaturday");
            return (Criteria) this;
        }

        public Criteria andSwSaturdayNotBetween(Integer value1, Integer value2) {
            addCriterion("sw_saturday not between", value1, value2, "swSaturday");
            return (Criteria) this;
        }

        public Criteria andSwSundayIsNull() {
            addCriterion("sw_sunday is null");
            return (Criteria) this;
        }

        public Criteria andSwSundayIsNotNull() {
            addCriterion("sw_sunday is not null");
            return (Criteria) this;
        }

        public Criteria andSwSundayEqualTo(Integer value) {
            addCriterion("sw_sunday =", value, "swSunday");
            return (Criteria) this;
        }

        public Criteria andSwSundayNotEqualTo(Integer value) {
            addCriterion("sw_sunday <>", value, "swSunday");
            return (Criteria) this;
        }

        public Criteria andSwSundayGreaterThan(Integer value) {
            addCriterion("sw_sunday >", value, "swSunday");
            return (Criteria) this;
        }

        public Criteria andSwSundayGreaterThanOrEqualTo(Integer value) {
            addCriterion("sw_sunday >=", value, "swSunday");
            return (Criteria) this;
        }

        public Criteria andSwSundayLessThan(Integer value) {
            addCriterion("sw_sunday <", value, "swSunday");
            return (Criteria) this;
        }

        public Criteria andSwSundayLessThanOrEqualTo(Integer value) {
            addCriterion("sw_sunday <=", value, "swSunday");
            return (Criteria) this;
        }

        public Criteria andSwSundayIn(List<Integer> values) {
            addCriterion("sw_sunday in", values, "swSunday");
            return (Criteria) this;
        }

        public Criteria andSwSundayNotIn(List<Integer> values) {
            addCriterion("sw_sunday not in", values, "swSunday");
            return (Criteria) this;
        }

        public Criteria andSwSundayBetween(Integer value1, Integer value2) {
            addCriterion("sw_sunday between", value1, value2, "swSunday");
            return (Criteria) this;
        }

        public Criteria andSwSundayNotBetween(Integer value1, Integer value2) {
            addCriterion("sw_sunday not between", value1, value2, "swSunday");
            return (Criteria) this;
        }

        public Criteria andIsDefaultIsNull() {
            addCriterion("is_default is null");
            return (Criteria) this;
        }

        public Criteria andIsDefaultIsNotNull() {
            addCriterion("is_default is not null");
            return (Criteria) this;
        }

        public Criteria andIsDefaultEqualTo(Integer value) {
            addCriterion("is_default =", value, "isDefault");
            return (Criteria) this;
        }

        public Criteria andIsDefaultNotEqualTo(Integer value) {
            addCriterion("is_default <>", value, "isDefault");
            return (Criteria) this;
        }

        public Criteria andIsDefaultGreaterThan(Integer value) {
            addCriterion("is_default >", value, "isDefault");
            return (Criteria) this;
        }

        public Criteria andIsDefaultGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_default >=", value, "isDefault");
            return (Criteria) this;
        }

        public Criteria andIsDefaultLessThan(Integer value) {
            addCriterion("is_default <", value, "isDefault");
            return (Criteria) this;
        }

        public Criteria andIsDefaultLessThanOrEqualTo(Integer value) {
            addCriterion("is_default <=", value, "isDefault");
            return (Criteria) this;
        }

        public Criteria andIsDefaultIn(List<Integer> values) {
            addCriterion("is_default in", values, "isDefault");
            return (Criteria) this;
        }

        public Criteria andIsDefaultNotIn(List<Integer> values) {
            addCriterion("is_default not in", values, "isDefault");
            return (Criteria) this;
        }

        public Criteria andIsDefaultBetween(Integer value1, Integer value2) {
            addCriterion("is_default between", value1, value2, "isDefault");
            return (Criteria) this;
        }

        public Criteria andIsDefaultNotBetween(Integer value1, Integer value2) {
            addCriterion("is_default not between", value1, value2, "isDefault");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNull() {
            addCriterion("is_delete is null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNotNull() {
            addCriterion("is_delete is not null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteEqualTo(Integer value) {
            addCriterion("is_delete =", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotEqualTo(Integer value) {
            addCriterion("is_delete <>", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThan(Integer value) {
            addCriterion("is_delete >", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_delete >=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThan(Integer value) {
            addCriterion("is_delete <", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThanOrEqualTo(Integer value) {
            addCriterion("is_delete <=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIn(List<Integer> values) {
            addCriterion("is_delete in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotIn(List<Integer> values) {
            addCriterion("is_delete not in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteBetween(Integer value1, Integer value2) {
            addCriterion("is_delete between", value1, value2, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotBetween(Integer value1, Integer value2) {
            addCriterion("is_delete not between", value1, value2, "isDelete");
            return (Criteria) this;
        }

        public Criteria andFromDateIsNull() {
            addCriterion("from_date is null");
            return (Criteria) this;
        }

        public Criteria andFromDateIsNotNull() {
            addCriterion("from_date is not null");
            return (Criteria) this;
        }

        public Criteria andFromDateEqualTo(Date value) {
            addCriterionForJDBCDate("from_date =", value, "fromDate");
            return (Criteria) this;
        }

        public Criteria andFromDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("from_date <>", value, "fromDate");
            return (Criteria) this;
        }

        public Criteria andFromDateGreaterThan(Date value) {
            addCriterionForJDBCDate("from_date >", value, "fromDate");
            return (Criteria) this;
        }

        public Criteria andFromDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("from_date >=", value, "fromDate");
            return (Criteria) this;
        }

        public Criteria andFromDateLessThan(Date value) {
            addCriterionForJDBCDate("from_date <", value, "fromDate");
            return (Criteria) this;
        }

        public Criteria andFromDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("from_date <=", value, "fromDate");
            return (Criteria) this;
        }

        public Criteria andFromDateIn(List<Date> values) {
            addCriterionForJDBCDate("from_date in", values, "fromDate");
            return (Criteria) this;
        }

        public Criteria andFromDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("from_date not in", values, "fromDate");
            return (Criteria) this;
        }

        public Criteria andFromDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("from_date between", value1, value2, "fromDate");
            return (Criteria) this;
        }

        public Criteria andFromDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("from_date not between", value1, value2, "fromDate");
            return (Criteria) this;
        }

        public Criteria andThruDateIsNull() {
            addCriterion("thru_date is null");
            return (Criteria) this;
        }

        public Criteria andThruDateIsNotNull() {
            addCriterion("thru_date is not null");
            return (Criteria) this;
        }

        public Criteria andThruDateEqualTo(Date value) {
            addCriterionForJDBCDate("thru_date =", value, "thruDate");
            return (Criteria) this;
        }

        public Criteria andThruDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("thru_date <>", value, "thruDate");
            return (Criteria) this;
        }

        public Criteria andThruDateGreaterThan(Date value) {
            addCriterionForJDBCDate("thru_date >", value, "thruDate");
            return (Criteria) this;
        }

        public Criteria andThruDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("thru_date >=", value, "thruDate");
            return (Criteria) this;
        }

        public Criteria andThruDateLessThan(Date value) {
            addCriterionForJDBCDate("thru_date <", value, "thruDate");
            return (Criteria) this;
        }

        public Criteria andThruDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("thru_date <=", value, "thruDate");
            return (Criteria) this;
        }

        public Criteria andThruDateIn(List<Date> values) {
            addCriterionForJDBCDate("thru_date in", values, "thruDate");
            return (Criteria) this;
        }

        public Criteria andThruDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("thru_date not in", values, "thruDate");
            return (Criteria) this;
        }

        public Criteria andThruDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("thru_date between", value1, value2, "thruDate");
            return (Criteria) this;
        }

        public Criteria andThruDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("thru_date not between", value1, value2, "thruDate");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}